import axios from "axios";
//引入服务器地址
import host from "./env.js";
//创建请求实例
const instance = axios.create({
  baseURL : host, //服务器地址
  timeout : 5000 //5s超时时长
});

// 添加响应拦截器
instance.interceptors.response.use(
  function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    if (response.status == 200) {
      //获取接口数据
      let rs = response.data;
      //将rs封装为promise对象返回
      return Promise.resolve(rs);
    }
  
    return Promise.resolve({});
  },
  function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    
    return Promise.reject(error);
  }
);


//对外暴漏的请求方法
export default {
   //get请求  url接口的相对地址  params请求的参数是一个对象
   //请求时会将对象中的属性拼接成字符串到地址栏上
   //return 请求的promise对象
  get :function (url,params) {
    return instance.get(url,{
      params
    })
  }, 
  //post请求  url接口的相对地址  data请求数据
  post(url,data){
    return instance.post(url,data);
  },

  put(url,data){
    return instance.put(url,data)
  },

  delete(url,data){
    return instance.delete(url,{
      params
    })
  }
};